Analysis

This COVID-19 analysis has two areas of interest. The first being the states of the Untied States and the second being the counties of Oregon. Both sections then explore the areas with the highest number of cases, highest percent of cases per population, highest number of deaths, and highest percent of deaths per population.

Knowing this information is important in several ways. It enables policymakers to tailor measure such as social distancing and stay-at-home orders to specific regions, thereby reducing the overall spread of the virus. Additionally, understanding which areas have been most affected by the pandemic can help identify population groups that may be at higher risk. Finally, tracking trends can help identify areas where the virus is spreading more rapidly and inform decisions around the allocation of resources and policy interventions. Overall, knowing areas with high numbers and percents of COVID-19 cases and deaths is critical in the fight against the pandemic and minimizing its impact on individuals and communities.

United States

Cases

Show Code
us_case_num_graph <- data_list[[1]] %>%
  ggplot(aes(
    x = date,
    y = cases,
    color = state
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Number of Cases"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Number of Cases"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times"))
ggplotly(us_case_num_graph)
Show Code
us_case_perc_graph <- data_list[[1]] %>%
  ggplot(aes(
    x = date,
    y = cases_per_pop,
    color = state
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Percent of Cases"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Percent of Cases"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) + 
  scale_y_continuous(
    labels = scales::percent
    ) 
ggplotly(us_case_perc_graph)
Show Code
us_case_num_map <- data_list[[5]] %>%
  ggplot(
    aes(
      long,
      lat,
      group = group,
      fill = total_cases
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Number of Cases"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) 
ggplotly(us_case_num_map)
Show Code
us_cases_perc_map <- data_list[[5]] %>%
  ggplot(
    aes(
      long,
      lat,
      group = group,
      fill = total_cases_perc
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Percent of Cases"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) 
ggplotly(us_cases_perc_map)

US

This section presents a detailed examination of COVID-19 cases and deaths in the United States.

Number of Cases

As of 2023-03-06, the following states have been experiencing high volumes of COVID-19 cases:

  • The state with the most cases of COVID-19 is California with 12,111,875 total cases.

  • Followed by Texas with 8,337,836 total cases

  • Then, Florida (7,531,055 total cases), New York (6,785,652 total cases), and Illinois (4,080,183 total cases).

Show Code
us_case_num_table <- gt::gt(
  us_case_num[1:5,]) %>%
  gt::fmt_number(
    columns = cases,
    decimals = 0
  ) %>%
  gt::fmt_number(
    columns = population,
    decimals = 0
  ) %>%
  gt::fmt_percent(
    columns = cases_per_pop,
    decimals = 0
    ) %>%
  gt::tab_header(
    title = gt::md(
      "**Highest Number of Cases**"
      ),
    subtitle = base::paste0(
      "By State as of ", 
      data_list[[3]])
  ) %>%
  gt::cols_label(
    state = md(
      "**State**"
      ),
    population = md(
      "**Population**"
      ),
    cases = md(
      "**Cases**"
      ),
    cases_per_pop = md(
      "**Percentage**"
      )
    ) %>%
  style_table() %>%
  gtsave(
    filename = "tables/current_us_case_num.png"
    ) 
Create Graph
us_case_num_graph <- data_list[[1]] %>%
  ggplot(aes(
    x = date,
    y = cases,
    color = state
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Number of Cases"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Number of Cases"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times"))
Create Map
us_case_num_map <- data_list[[5]] %>%
  ggplot(
    aes(
      long,
      lat,
      group = group,
      fill = total_cases
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Number of Cases"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) 

Percent of Cases

  • As of 2023-03-06, Rhode Island has the highest percent of COVID-19 cases per population, with 43.43%.

  • Alaska has the second highest percent of COVID-19 cases with 42.02% of the population catching COVID-19, followed by Kentucky (38.46%), North Dakota (37.65%), and Tennessee (35.83%).

Show Code
us_case_percent_table <- gt::gt(
  us_case_percent[1:5,]
  ) %>%
  gt::fmt_number(
    columns = cases,
    decimals = 0
  ) %>%
  gt::fmt_number(
    columns = population,
    decimals = 0
  ) %>%
  gt::fmt_percent(
    columns = cases_per_pop,
    decimals = 0
    ) %>%
  gt::tab_header(
    title = gt::md(
      "**Highest Percent of Cases**"
      ),
    subtitle = base::paste0(
      "By State as of ", 
      data_list[[3]])
  ) %>%
  gt::cols_label(
    state = gt::md(
      "**State**"
      ),
    population = gt::md(
      "**Population**"
      ),
    cases = gt::md(
      "**Cases**"
      ),
    cases_per_pop = gt::md(
      "**Percentage**"
      )
    ) %>%
  style_table() %>%
  gt::gtsave(
    filename = "tables/current_us_case_percent.png"
    ) 
Create Graph
us_case_perc_graph <- data_list[[1]] %>%
  ggplot(aes(
    x = date,
    y = cases_per_pop,
    color = state
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Percent of Cases"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Percent of Cases"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) + 
  scale_y_continuous(
    labels = scales::percent
    ) 
Create Map
us_cases_perc_map <- data_list[[5]] %>%
  ggplot(
    aes(
      long,
      lat,
      group = group,
      fill = total_cases_perc
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Percent of Cases"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) 

Number of Deaths

  • As of 2023-03-06, California has the most COVID-19 related deaths, with 103,743 total deaths.

  • Texas has the second most number of COVID-19 related deaths with 94,163 total deaths, followed by Florida (86,850 total deaths), New York (79,680 total deaths), and Pennsylvania (50,360 total deaths).

Show Code
us_deaths_num_table <- gt(us_deaths_num[1:5,]) %>%
  fmt_number(
    columns = deaths,
    decimals = 0
  ) %>%
  fmt_number(
    columns = population,
    decimals = 0
  ) %>%
  fmt_percent(
    columns = deaths_per_pop,
    decimals = 2
    ) %>%
  tab_header(
    title = md(
      "**Highest Number of Deaths**"
      ),
    subtitle = paste0(
      "By state as of ", 
      data_list[[4]])
  ) %>%
  cols_label(
    state = md(
      "**State**"
      ),
    population = md(
      "**Population**"
      ),
    deaths = md(
      "**Deaths**"
      ),
    deaths_per_pop = md(
      "**Percentage**"
      )
    ) %>%
  style_table() %>%
  gt::gtsave(
    filename = "tables/current_us_deaths_num.png"
    ) 
Create Graph
us_death_num_graph <- data_list[[1]] %>%
  ggplot(aes(
    x = date,
    y = deaths,
    color = state
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Number of Deaths"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Number of Deaths"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times"))
Create Map
us_death_num_map <- data_list[[5]] %>%
  ggplot(
    aes(
      long,
      lat,
      group = group,
      fill = total_deaths
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Number of Deaths"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) 

Percent of Deaths

  • As of 2023-03-06, Arizona has the highest percent of COVID-19 deaths per population, with 0.454%.

  • West Virginia has the second highest percent of COVID-19 deaths with 0.45% of the population dying from COVID-19, followed by Mississippi (0.45%), Alabama (0.439%), and New Mexico (0.433%).

Show Code
us_deaths_perc_table <- gt::gt(
  us_death_percent[1:5,]
  ) %>%
  gt::fmt_number(
    columns = deaths,
    decimals = 0
  ) %>%
  gt::fmt_number(
    columns = population,
    decimals = 0
  ) %>%
  gt::fmt_percent(
    columns = deaths_per_pop,
    decimals = 2
    ) %>%
  gt::tab_header(
    title = md(
      "**Highest Percent of Deaths**"
      ),
    subtitle = paste0(
      "By state as of ", 
      data_list[[4]])
  ) %>%
  gt::cols_label(
    state = md(
      "**State**"
      ),
    population = md(
      "**Population**"
      ),
    deaths = md(
      "**Deaths**"
      ),
    deaths_per_pop = md(
      "**Percentage**"
      )
    ) %>%
  style_table() %>%
  gt::gtsave(
    filename = "tables/current_us_deaths_percent.png"
    ) 
Create Graph
us_death_perc_graph <- data_list[[1]] %>%
  ggplot(aes(
    x = date,
    y = deaths_per_pop,
    color = state
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Percent of Deaths"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Percent of Deaths"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) + 
  scale_y_continuous(
    labels = scales::percent
    )
Create Map
us_death_perc_map <- data_list[[5]] %>%
  ggplot(
    aes(
      long,
      lat,
      group = group,
      fill = total_deaths_perc
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Percent of Deaths"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    )

Oregon

This section presents a detailed examination of COVID-19 cases and deaths in the Oregon.

Number of Cases

  • As of 2022-05-13, Multnomah county has the most cases of COVID-19, with 123,906 total cases.

  • Washington county has the second most number of COVID-19 cases with 91,092 total cases, followed by Marion (70,744 total cases), Clackamas (63,827 total cases), and Lane (59,853 total cases).

Highest Number of Cases
By counties in Oregon as of 2022-05-13
County Population Cases Percentage
Multnomah 812,855 123,906 15%
Washington 601,592 91,092 15%
Marion 347,818 70,744 20%
Clackamas 418,187 63,827 15%
Lane 382,067 59,853 16%
Create Table
or_case_num_table <- gt(or_case_num[1:5,]) %>%
  fmt_number(
    columns = cases,
    decimals = 0
  ) %>%
  fmt_number(
    columns = population,
    decimals = 0
  ) %>%
  fmt_percent(
    columns = cases_per_pop,
    decimals = 0
    ) %>%
  tab_header(
    title = md(
      "**Highest Number of Cases**"
      ),
    subtitle = paste0(
      "By counties in Oregon as of ", 
      data_list[[4]])
  ) %>%
  cols_label(
    county = md(
      "**County**"
      ),
    population = md(
      "**Population**"
      ),
    cases = md(
      "**Cases**"
      ),
    cases_per_pop = md(
      "**Percentage**"
      )
    ) %>%
  tab_style(
    style = list(cell_fill(color = "#feebe2"),
                 cell_text(color = "#6c464e")),
    locations = cells_body(
      columns = everything()
    ))
Create Graph
or_case_num_graph <- data_list[[2]] %>%
  ggplot(aes(
    x = date,
    y = cases,
    color = county
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Number of Cases"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Number of Cases"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times"))
Create Map
or_case_num_map <- data_list[[6]] %>%
  ggplot(
    aes(
      lon,
      lat,
      group = group,
      fill = total_cases
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Number of Cases"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) 

Percent of Cases

  • As of 2022-05-13, Jefferson county has the highest percent of COVID-19 cases per population, with 29.68%.

  • Umatilla county has the second highest percent of COVID-19 cases with 28.92% of the population catching COVID-19, followed by Malheur (26.99%), Morrow (25.68%), and Crook (25.23%).

Highest Percent of Cases
By counties in Oregon as of 2022-05-13
County Population Cases Percentage
Jefferson 24,658 7,319 30%
Umatilla 77,950 22,545 29%
Malheur 30,571 8,251 27%
Morrow 11,603 2,980 26%
Crook 24,404 6,158 25%
Create Table
or_case_perc_table <- gt(or_case_percent[1:5,]) %>%
  fmt_number(
    columns = cases,
    decimals = 0
  ) %>%
  fmt_number(
    columns = population,
    decimals = 0
  ) %>%
  fmt_percent(
    columns = cases_per_pop,
    decimals = 0
    ) %>%
  tab_header(
    title = md(
      "**Highest Percent of Cases**"
      ),
    subtitle = paste0(
      "By counties in Oregon as of ", 
      data_list[[4]])
  ) %>%
  cols_label(
    county = md(
      "**County**"
      ),
    population = md(
      "**Population**"
      ),
    cases = md(
      "**Cases**"
      ),
    cases_per_pop = md(
      "**Percentage**"
      )
    ) %>%
  tab_style(style = list(
    cell_fill(color = "#feebe2")
  ),
    locations = cells_body(
      columns = everything()
    ))
Create Graph
or_case_perc_graph <- data_list[[2]] %>%
  ggplot(aes(
    x = date,
    y = cases_per_pop,
    color = county
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Percent of Cases"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Percent of Cases"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) + 
  scale_y_continuous(
    labels = scales::percent
    ) 
Create Map
or_cases_perc_map <- data_list[[6]] %>%
  ggplot(
    aes(
      lon,
      lat,
      group = group,
      fill = total_cases_perc
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Percent of Cases"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) 

Number of Deaths

  • As of 2022-05-13, Multnomah county has the most COVID-19 related deaths, with 1,207 total deaths.

  • Marion county has the second most number of COVID-19 related deaths with 721 total deaths, followed by Clackamas (632 total deaths), Washington (594 total deaths), and Lane (541 total deaths).

Highest Number of Deaths
By counties in Oregon as of 2022-05-13
County Population Deaths Percentage
Multnomah 812,855 1,207 0.15%
Marion 347,818 721 0.21%
Clackamas 418,187 632 0.15%
Washington 601,592 594 0.10%
Lane 382,067 541 0.14%
Create Table
or_deaths_num_table <- gt(or_deaths_num[1:5,]) %>%
  fmt_number(
    columns = deaths,
    decimals = 0
  ) %>%
  fmt_number(
    columns = population,
    decimals = 0
  ) %>%
  fmt_percent(
    columns = deaths_per_pop,
    decimals = 2
    ) %>%
  tab_header(
    title = md(
      "**Highest Number of Deaths**"
      ),
    subtitle = paste0(
      "By counties in Oregon as of ", 
      data_list[[4]])
  ) %>%
  cols_label(
    county = md(
      "**County**"
      ),
    population = md(
      "**Population**"
      ),
    deaths = md(
      "**Deaths**"
      ),
    deaths_per_pop = md(
      "**Percentage**"
      )
    ) %>%
  tab_style(
    style = list(cell_fill(color = "#feebe2"),
                 cell_text(color = "#6c464e")),
    locations = cells_body(
      columns = everything()
    ))
Create Graph
or_death_num_graph <- data_list[[2]] %>%
  ggplot(aes(
    x = date,
    y = deaths,
    color = county
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Number of Deaths"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Number of Deaths"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times"))
Create Map
or_death_num_map <- data_list[[6]] %>%
  ggplot(
    aes(
      lon,
      lat,
      group = group,
      fill = total_deaths
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Number of Deaths"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) 

Percent of Deaths

  • As of 2022-05-13, Harney county has the highest percent of COVID-19 deaths per population, with 0.514%.

  • Josephine county has the second highest percent of COVID-19 deaths with 0.3875% of the population dying from COVID-19, followed by Jefferson (0.3731%), Lake (0.3685%), and Douglas (0.3568%).

Highest Percent of Deaths
By counties in Oregon as of 2022-05-13
County Population Deaths Percentage
Harney 7,393 38 0.51%
Josephine 87,487 339 0.39%
Jefferson 24,658 92 0.37%
Lake 7,869 29 0.37%
Douglas 110,980 396 0.36%
Create Table
or_deaths_perc_table <- gt(or_death_percent[1:5,]) %>%
  fmt_number(
    columns = deaths,
    decimals = 0
  ) %>%
  fmt_number(
    columns = population,
    decimals = 0
  ) %>%
  fmt_percent(
    columns = deaths_per_pop,
    decimals = 2
    ) %>%
  tab_header(
    title = md(
      "**Highest Percent of Deaths**"
      ),
    subtitle = paste0(
      "By counties in Oregon as of ", 
      data_list[[4]])
  ) %>%
  cols_label(
    county = md(
      "**County**"
      ),
    population = md(
      "**Population**"
      ),
    deaths = md(
      "**Deaths**"
      ),
    deaths_per_pop = md(
      "**Percentage**"
      )
    ) %>%
  tab_style(
    style = list(cell_fill(color = "#feebe2"),
                 cell_text(color = "#6c464e")),
    locations = cells_body(
      columns = everything()
    ))
Create Graph
or_death_perc_graph <- data_list[[2]] %>%
  ggplot(aes(
    x = date,
    y = deaths_per_pop,
    color = county
  )) + 
  geom_line(
    size = .8
    ) +
  scale_x_date(
    date_breaks = "1 month", 
    date_labels = "%m") +
  ggtitle(
    "Percent of Deaths"
  ) +
  xlab(
    "Month"
  ) +
  ylab(
    "Percent of Deaths"
  ) + 
  theme(
    axis.text.x = element_text(
      angle = 60, 
      vjust = 0.5, 
      hjust=1)
    ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    ) + 
  scale_y_continuous(
    labels = scales::percent
    )
Create Map
or_death_perc_map <- data_list[[6]] %>%
  ggplot(
    aes(
      lon,
      lat,
      group = group,
      fill = total_deaths_perc
    )
  ) +
  geom_polygon(
    color = "grey"
  ) +
  coord_quickmap() +
  theme_minimal() +
  ggtitle(
    "Percent of Deaths"
  ) +
  xlab(
    ""
  ) +
  ylab(
    ""
  ) +
  theme(
    text = element_text(
      size=16, 
      family="Times")
    )